const http = require('http');
const url = require('url');
const fs = require('fs');
const server = http.createServer((req,res) => {
/* 
    存放多条数据 ： 存放的格式 是 对象数组:[{name:"zhangsan",age:20},{name:"zhangsan222",age:21},{name:"lisi",age:23}]
    // 第一请求的时候 初始化一个 空数组；
*/

    let query = url.parse(req.url,true).query; // object
    console.log(Object.prototype.toString.call(query));
    if (typeof query.usersname !=='undefined') {
        try {
            // 第一次请求的时候初始化空数组，存入到data.json里去
            if(!fs.existsSync('./data.json')) {// 没有data.json文件的时候会进入if判断
                // 初始化一个空数组字符串到 data.json文件里去
                fs.writeFileSync('./data.json',JSON.stringify([]));
            }

            // 把query里的数据添加到数组里
            // 获取data.json里的数据
            let arr = JSON.parse(fs.readFileSync('./data.json'));  // JSON.parse获取data.json里的数据
            console.log(arr); // []
            // 第二次：[{username:"zhangsan",pwd:123}]
            // 把query对象 添加到 arr数组里
            arr.push(query); //[{username:"zhangsan",pwd:123}]
            // [{username:"zhangsan",pwd:123},{username:"李四",pwd:123}]
            console.log(arr);
            // 重新把最新的数组添加到data.json文件里去
            fs.writeFileSync('./data.json',JSON.stringify(arr)); //修改之后的数组 重新覆盖之前的data.json文件
            res.write('success');
        }catch (err) {
            console.log(err);
            res.write('error');
        }
    }
    res.end();
})

server.listen(8889);